package com.nuedu.corejava.ch7;

/**
 * <pre>
 *   继承：
 *   1.继承使用extends关键词进行表示，子类可以通过继承父类的特征（属性）和行为（方法）
 *   2.语法：class子类extends 父类
 *   3.在java中，继承属于单继承：一个子类只能有一个父类
 *   4.在子类的构造方法中，可以使用super指向父类；调用父类的构造方法
 *   5.子类可以通过继承重用父类的代码，旦这不是主要的目标；
 *     继承更重要的目的，是为了对父类的功能进行扩展，增加程序的可维护性，可扩展性；
 *   6.子类可以重写父类的方法；子类可扩展自己的方法；
 *   7.在java中，所有类都有一个共同的父类：java.lang.Object
 *    java的父类可以是直接父类，也指代父类的父类，直至Object
 *    //JNI（native） -java本地调用接口，是多语言混合编程的接口，可以调用C语言代码
 *   8.在实例化子类对象时，会先执行父类的构造方法，生成一个父类对象，实例化子类对象一定会产生多个对象（根据子类与Object类间的关系）；
 * 
 * 
 * 
 * </pre>
 * 
 * 
 * 
 * @author admin
 *
 */
public class Manager extends Employee {
	public Manager() {
		// 不编写super调用时，默认会调用父类的空参构造方法
		super();// 在子类的构造方法中，可以使用super指向父类；调用父类的构造方法；
	}

	public Manager(String name, String sex, int age, String phone) {
		// this 可以在构造方法中，调用自己的构造方法- 一般用于多个构造方法
		// 不能同时在构造方法中同调用this和super
		// 使用this 或super调用构造方法时，代码必须放在第一行
		super(name, sex, age, phone);// 调用父类的带参构造方法
		this.work();
		// work();子类和父类都有work方法，不写this和super时默认使用子类的方法
		equals(null);// 子类没有equal方法，默认调用父类的方法；在进行调用时，可以使用this或super

	}

	// @override 方法的重写，@Overload 方法的重载
	// 方法的重写发生在子类和父类之间，子类重写父类的方法
	// 方法的重写可以使用@Override进行注解；
	@Override
	public void work() {
		// super.work();
		System.out.println(this.getName() + "管理公司");
	}

}
